package com.junjie.springcloud.service;

import com.junjie.springcloud.entities.CommonResult;
import com.junjie.springcloud.entities.Payment;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

//这里应该是把接口放到一个公共的 module 里面
@Component
@FeignClient(value = "CLOUD-PAYMENT-SERVICE") // (Eureka下的微服务名称) 需要寻找哪一个微服务
public interface PaymentFeignService {

    //这个就是provider 的controller层的方法定义 (注意：这里面调用的是服务层里面的接口)
    @GetMapping(value = "/payment/{id}")
    CommonResult<Payment> getPaymentById(@PathVariable("id")Long id);

    // OpenFeign 的默认等待时间是 1 s (只有一个服务器上有这个接口它也就只会去 8001 那个服务模块上找)
    @GetMapping(value = "/payment/feign/timeout")
    String getPortTimeOutTest();

}
